package com.platform.modules.sys.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.platform.modules.sys.entity.SysJmCourseEntity;
import com.platform.modules.sys.entity.SysJmCourseUserEntity;
import com.platform.modules.sys.entity.SysMailLogEntity;
import com.platform.modules.sys.entity.SysUserEntity;

import java.util.List;
import java.util.Map;

/**
 * @author zdz
 * @Title:
 * @Package
 * @Description:
 * @date 2021/7/3 1:41
 */
public interface SysUserSelectCourseService extends IService<SysJmCourseEntity>  {

    /**
    * @Description: 分页查询必选任务列表
    * @param params 查询条件
    * @return 返回分页对象数据
    * @throws
    * @author zdz
    * @date 2021/7/3 12:37
    */
    Page queryMustSelectPage(Map<String, Object> params);


    /**
    * @Description: 分页查询任选任务列表
    * @param params 查询条件
    * @return 返回分页对象数据
    * @throws
    * @author zdz
    * @date 2021/7/3 12:36
    */
    Page queryMaySelectPage(Map<String, Object> params);

    /**
    * @Description: 查询当前用户已选择的任选任务id列表
    * @param params 查询条件
    * @return 返回已选择的任务id列表
    * @throws
    * @author zdz
    * @date 2021/7/3 18:59
    */
    List<String> queryAllMayCourseIds(Map<String, Object> params);

    List<SysJmCourseEntity> queryAllMustSelectCourseByModuleId(String moduleId);

    List<SysJmCourseEntity> queryMaySelectCourseByIds(String[] courseIds);

    boolean saveUserSelectCourse(SysUserEntity user, String moduleId, String courseIds);
}
